home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / source code vol 1.adf / STARROUTS / SIDESTARS.S < prev    next >
Text File  |  1999-09-26  |  1KB  |  81 lines

  1.  
  2. ScreenX = 46
  3. Stars=100   
  4. StarCol=$ffd
  5. StarBPL=$65000
  6.  
  7.  
  8. StarField:
  9.     lea StarX,a0
  10.     lea StarY,a1    
  11.     lea StarSp,a2
  12.     move.w #Stars-1,d0
  13. StarF1: jsr StarFDel
  14.     move.w (a2),d4
  15.     sub.w d4,(a0)
  16.     bpl StarF2
  17.     move.w #319,(a0)
  18. StarF3: move.w $dff006,d1
  19.     move.w $bfe800,d2
  20.     eor.w d1,d2
  21.     and.w #$ff,d2
  22.     cmp.w #180,d2
  23.     bge StarF3
  24.     move.w d2,(a1)
  25.     move.w $dff006,d1
  26.     move.w $bfe800,d2
  27.     eor.w d1,d2
  28.     and.w #7,d2
  29.     add.w #1,d2
  30.     move.w d2,(a2)
  31. StarF2:
  32.     jsr StarFSet
  33.     dbra d0,StarF1
  34.     rts
  35.  
  36. StarFDel:
  37.     move.w (a0),d1
  38.     move.w (a1),d2
  39.     lea StarBPL,a3
  40.     mulu #ScreenX,d2
  41.     lsr.w #3,d1
  42.     add.w d1,d2
  43.     add.l d2,a3
  44.     move.w (a0),d1
  45.     eor.b #7,d1
  46.     and.w #7,d1
  47.     bclr d1,(a3)
  48.     rts
  49.  
  50. StarFSet:
  51.     move.w (a0),d1
  52.     move.w (a1)+,d2
  53.     move.w (a2)+,d3
  54.     lea StarBPL,a3
  55.     mulu #ScreenX,d2
  56.     lsr.w #3,d1
  57.     add.w d1,d2
  58.     add.l d2,a3
  59.     move.w (a0)+,d1 
  60.     eor.b #7,d1
  61.     and.w #7,d1
  62.     bset d1,(a3)
  63.     rts
  64.  
  65. StarX:  blk.w Stars
  66. Stary:  blk.w Stars
  67. StarSp: blk.w Stars
  68.  
  69. InitStarField:
  70.      move.w #3*Stars-1,d1
  71.      lea StarX,a0
  72. StarFieldsu: move.w $dff006,d0
  73.      move.w $bfe800,d2
  74.      eor.w d2,d0
  75.      add.w d1,d0
  76.      and.w #319,d0
  77.      bset #0,d0
  78.      move.w d0,(a0)+
  79.      dbra d1,StarFieldsu
  80.     rts
  81.